<?php

/**
 * Usuario form.
 *
 * @package    dentist
 * @subpackage form
 * @author     Your name here
 */
class UsuarioForm extends BaseUsuarioForm {

    public function configure() {

        unset(
                $this['created_at'], $this['updated_at']
        );

        $this->widgetSchema['clave'] = new sfWidgetFormInputPassword();
        $this->widgetSchema['clave2'] = new sfWidgetFormInputPassword();

        $this->validatorSchema['correo'] = new sfValidatorAnd(array(
                    $this->validatorSchema['correo'],
                    new sfValidatorEmail(),
                ));

        // agrego un validador para el máximo de caracteres
        $this->setValidator('clave2', new sfValidatorString(array('max_length' => 30)));

        // agrego un postValidator que verifique que el correo ingresado ya no este dado de alta y que las claves coincidan
        $this->validatorSchema->setPostValidator(new sfValidatorAnd(array(
                    new sfValidatorSchemaCompare('clave2', sfValidatorSchemaCompare::EQUAL, 'clave', array('throw_global_error' => true), array('invalid' => "Las dos contraseñas no coinciden")),
                )));

        // agrego las etiquetas
        $this->widgetSchema->setLabels(array(
            'direccion' => 'Dirección',
            'telefono' => 'Teléfono',
            'clave2' => 'Re-Clave'
        ));
    }

}
